// 模拟 播放进度变化时触发的进度事件

var ios_timer_update;// 定时器
export default {
    watch: {
        // 是否播放状态
        isPlay:{
			handler(newPlay,oldPlay){
                if (newPlay == true) {
                    this.iOS_timeupdate()
                }
			},
			immediate: true,
		},
    },
    methods:{
        /* 2022-0125 新增功能 3.3.6版本
         * 如果为直播源，又是iOS平台，则模拟当前时长
         * 因为uniappp的iOS平台bug，当前时长一直是0
         */

		async iOS_timeupdate(){
            // 如果不是iOS平台，则阻止事件本身
            if (this.platform_mobile !== 'ios') return false
            // 如果是直播播放，才可以模拟视频进度回调
            if (this.islive_player == true && this.ref_type == 'my' && this.isPlay == true) {
                /* 触发频率 250ms 一次
                * event.detail = {currentTime, duration} 。
                */
                ios_timer_update = setTimeout(() => {
                    // 当前时长
                    let currentTime = Number(this.timeUpdate[0].currentTime + 0.250000)
                    // 总时长 （直播源是没有总时间的）
                    let duration = 0 
                    // 入口参数
                    let event = {detail: {currentTime,duration}}

                    console.log('currentTime == ' + currentTime)

                    // 同步获取视频时长(视频进度)并更新到进度条上
                    this.getTimeupdateSync(event)
                    // 当前时长(当前进度)
                    this.timeUpdate[0].currentTime = currentTime
                    // 总时长(总进度)
                    this.timeUpdate[0].duration = duration
                    // 视频出错或断网后再链接了网络，使视频自动恢复续播
                    this.timeUpdate[0].dwhfcurrTime = currentTime

                    // 判断当前时长是否大于视频出错时间
                    if (currentTime > this.errorTime){
                        // 隐藏loading和Error面板
                        this.onHiedloadingError()
                    }else {
                        // 只有视频没有出错的情况下，才显示loading.
                        if (this.isError == false){
                            // 显示loading(移步至视频出现缓冲里)
                            this.isVideoShowLoadingCount.isVideoShowLoading = true
                        }
                    }

                    // 清除上一次的定时器
                    clearTimeout(ios_timer_update)
                    // 重复执行
                    this.iOS_timeupdate()
                },250)
                
            }
        }
    }
}
